Cache 行
由于 Cache 行数比主存块数少得多,因此 Cache 只能存放主存中的一部分信息,于是 Cache 要为每一块数据增加一个标记项,来指明它是主存中哪一块的副本,所以在计算 cache 容量时,需要同时分析标记项位数和 cache 数据块的位数。
即 Cache 块分为两部分:
数据部分 = 行数 * 每行数据(1 字);控制部分 = 行数 * 标记项(标记位 + 有效位 + 算法位 + 脏位);
标记项
| 有效位 | 标记位 | 脏位 | 替换控制位 |
|---|---|---|---|
| 1bit | 主存字块标记 | 1bit | 与替换算法有关 |
脏位:(特定条件下才有)也叫一致性维护位,只有当cache写策略采用 写回法 时,该位生效并且占 1 位。
替换控制位:(特定条件下才有)或叫替换算法位,用于标记替换cache哪一行会被换出,在cache替换策略中,当采用 LRU和LFU替换算法 时,这个控制位会作为被换出的依据。